﻿// -----------------------------------------------------------------------
// <copyright file="IPushProperties.cs" company="Zen Design Corp">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace Zen.BlackBerry.Configuration
{
	using System;
	using System.Collections.Generic;
	using System.Linq;
	using System.Text;

	/// <summary>
	/// TODO: Update summary.
	/// </summary>
	public interface IPushProperties
	{
		int AcknowledgementBatchSize
		{
			get;
			set;
		}

		int AcknowledgementMaxQueueSize
		{
			get;
			set;
		}

		int AcknowledgementPushLookupRetryDelay
		{
			get;
			set;
		}

		string DatabaseType
		{
			get;
			set;
		}

		TimeSpan DefaultDeliverBefore
		{
			get;
			set;
		}

		string DtdDeclarationEnterprise
		{
			get;
			set;
		}

		string DtdDeclarationPublic
		{
			get;
			set;
		}

		string EnterprisePpgAddress
		{
			get;
			set;
		}

		string PublicPpgAddress
		{
			get;
			set;
		}

		int HttpConnectionTimeout
		{
			get;
			set;
		}

		bool IsHttpPersistent
		{
			get;
			set;
		}

		int HttpReadTimeout
		{
			get;
			set;
		}

		int MaxInClauseValues
		{
			get;
			set;
		}

		char[] ParserSpecialCharacters
		{
			get;
			set;
		}

		int PushAppDeleteUnsubscribeQueueSize
		{
			get;
			set;
		}

		int PushAppDeleteUnsubscribeTimeout
		{
			get;
			set;
		}

		int PushAppSubscriberDeleteTimeout
		{
			get;
			set;
		}

		int PushRequestDetailFindMaxResults
		{
			get;
			set;
		}

		TimeSpan PushStatsUpdateFrequency
		{
			get;
			set;
		}

		int PushStatsUpdateQueueSize
		{
			get;
			set;
		}

		int RegeneratePushIdMaxAttempts
		{
			get;
			set;
		}

		string SubscriptionDeregistrationUrl
		{
			get;
			set;
		}

		int SubscriptionFindMaxResults
		{
			get;
			set;
		}

		int SubscriptionNotifyMaxRetries
		{
			get;
			set;
		}

		int SubscriptionMatchingMaxThreads
		{
			get;
			set;
		}

		int SubscriptionMatchingQueueSize
		{
			get;
			set;
		}

		int SubscriptionPpgSyncBatchSize
		{
			get;
			set;
		}

		int SubscriptionPpgSyncMaxThreads
		{
			get;
			set;
		}

		int SubscriptionPpgSyncQueueSize
		{
			get;
			set;
		}

		int SubscriptionPpgSyncTimeout
		{
			get;
			set;
		}

		string SubscriptionQueryUrl
		{
			get;
			set;
		}

		string SubscriptionResumeUrl
		{
			get;
			set;
		}

		string SubscriptionSuspendUrl
		{
			get;
			set;
		}

		int SubscriptionValidationBatchSize
		{
			get;
			set;
		}

		int SubscriptionValidationHighWaterMark
		{
			get;
			set;
		}
	}
}
